home *** CD-ROM | disk | FTP | other *** search
/ MacWorld: Complete Mac Interactive / Macworld Complete Mac Interactive CD)(1994).iso / The Best of BMUG / Utilities / Text and Speech / Alpha.5.76 / Tcl / SystemCode / browser.tcl < prev    next >
Text File  |  1994-03-08  |  1KB  |  60 lines

  1. #=============================================================================
  2. # Browser mode.
  3. #=============================================================================
  4. proc upBrowse {} {
  5.     if {[lineStart [getPos]] > 0} {
  6.         select [getPos]
  7.         previousLine
  8.     } 
  9.     select [lineStart [getPos]] [nextLineStart [getPos]]
  10. }
  11. bind up upBrowse BRWZ
  12.  
  13. proc downBrowse {} {
  14.     if {[nextLineStart [getPos]] != [maxPos]} {
  15.         select [getPos]
  16.         nextLine
  17.     }
  18.     select [lineStart [getPos]] [nextLineStart [getPos]]
  19. }
  20. bind down downBrowse BRWZ
  21.  
  22.  
  23.  
  24. proc gotoError {} {
  25.     set text [getText [lineStart [getPos]] [nextLineStart [getPos]]]
  26.     set line [lindex $text 3]
  27.     set err [lindex $text 5]
  28.     set fname [lindex $text 6]
  29.     if {[expr {[lsearch [winNames -f] $fname] >= 0}]} {
  30.         bringToFront $fname
  31.     } else {
  32.         edit $fname
  33.     }
  34.     set pos [rowColToPos $line 0]
  35.     select $pos [nextLineStart $pos]
  36. }
  37. bind '\r'        gotoError    BRWZ
  38. bind enter        gotoError    BRWZ
  39.  
  40. proc nextError {} {
  41.     downBrowse
  42.     gotoError
  43. }
  44.  
  45. proc previousError {} {
  46.     upBrowse
  47.     gotoError
  48. }
  49.  
  50. menu -n Browse {
  51.     "gotoError"
  52.     "nextError"
  53.     "previousError"
  54. }
  55.  
  56. proc setBrowseMode {} {
  57.     changeMode "BRWZ"
  58.     insertMenu    "Browse"
  59. }
  60.